package cn.fl.system.service;

import cmm.mid.core.framework.page.KeyValueVO;
import cn.cmm.base.framework.exception.BaseException;
import cn.fl.system.vo.SysDictionaryVO;

import java.util.List;
import java.util.Map;

/**
 * 公共字典服务处理字典API服务
 * @author FUJINGRUN
 */
public interface ISysDictionaryService {
	
    /**
     * 查询多组代码集合Map,Key 为组代码, value 为KeyValueVO集合
     * @param sysCd 系统代码
     * @param orgCd 组织架构代码
     * @param codeGrpCdList 组代码集合
     * @return map
     * @throws BaseException
     */
    public Map<String, List<KeyValueVO>> getMultiKvList(String sysCd, String orgCd, List<String> codeGrpCdList) throws BaseException;

    /**
     * 根据字段代码组获取代码值集合
     * @param grpCd 代码组值
     * @param sysCd 系统代码
     * @param orgCd 组织结构代码
     * @return 值
     * @throws BaseException
     */
    public List<KeyValueVO> getKvList(String grpCd, String sysCd, String orgCd) throws BaseException;

    /**
     * @MethodName getRoleisEncrypt
     * @Description: 获取是否需要掩码判断
     * @Author: wangpengtao@lionbridgecapital.cn
     * @CreateDate: 2020/2/12 14:08
     * @Version: V1.0.0
     * @Param
     * @Return java.lang.String
     * @UpdateRemark [序号][YYYY-MM-DD] [更改人姓名][变更描述]
     */
    public String getRoleisEncrypt() throws BaseException;

    List<SysDictionaryVO> searchGroup(String groupCd,String sysCd, String orgCd);
}
